Mburton/exp/annotationprocessing nonsilver plus optional binding

@stephanenicolas I created this PR to help me review the code.