language changes: Box<T>: -> Box<T>, trait bounds syntax changes.
initial metadata cache support.

currently it has to be manually enabled with `-D <database path>`.