initial experimentation with maybe and type vars
implement compilation of patternvar stmt

also include new factorial program to verify patterns