Language Models for Code Completion: A Practical Evaluation | Synapse