fixed 'dot' error in validate

error occured when using dot on pointer to struct
added 'lowering' pass; split from sema

working on getting constant tuple ([1,2,3]) to coercable array (float[3])