slowly fixing ambiguities
refine what a pattern, type etc is