class Dictionary*[Key, Value]: field*: Type proc insert(key: Key, value: Value) = ...
should become type Dictionary*[Key, Value] = ref object field*: Type proc insert[Key, Value](this: var Dictionary[Key, Value], key: Key, value: Value) = ... or something along those lines, was my thinking. One of the specific issues I encountered was that this syntax: class MyClass*: results in an error "Error: expression expected, but found ':'", and I haven't found a good way around it.