Add the memleak fix to the changelog
Refactor Compiler
Add stricter parameter requirements
Extract a ReferenceCompiler
Allow an optional parameter
Fail properly when a method has an invalid signature
Initialize with the method name
Move more compilation logic into ReferenceCompiler
Allow passing keyword parameters to references
Allow mixing positional and keyword arguments
Add improved error handling when parsing params
Add a changelog entry for kwargs