added anonymous patterns
re-implemented parameter binding generation