more information at #551
It is possible that some of symbol names we're using in the abstractions conflict with the Ruby "standard library" or commonly used types. We should validate non of the names used there conflict with those and change those names if it's the case.