Let bindings be defined programmatically
Correctly deal with placeholders and keypaths pointing at primitive types