Deduplicate types
Previously we used borrowed values for input types, but output types had no other way but store owned values. This led to a few types being duplicated, because they were used both as input and output. Now that we no longer borrow values, there's no more need in duplicating those. Besides, it also turned out that parameters::LiveLocation
(a Copy
type) can be replaced with location::Live
just fine, so this MR also deduplicates it.
Closes #16 (closed).
Edited by Artem Starikov