added distribution files, some changes to enable m ==> t m type morphs
trying to implement a lazily evaluated version but stuck by strictness
new approach: backward path construction
Current version works well for references package