Bit of refactoring for variables and assignment
First and foremost, this banishes TypeId
dispatch from Variables::get
and uses a trait-based mechanism instead. Trying to get()
a type that is not implemented will no longer simply return None
, but fail to compile. The trait bounds have been removed, as they are no longer needed.
There’s a couple more changes in individual functions and concerning trait impls.