Syntax printer updates to support polymorphic types and declared vars