type Map = {
    size->Number
    isEmpty->Boolean
    containsKey(_:K)->Boolean
    containsValue(_:V)->Boolean
    valueAt(_:K)->V
    put(_:V)at(_:K)->V
    removeValueAt(_:K)->V
    putAll(_:Map)->Void
    clear->Void
    keySet->Set
    values->Collection
    entrySet->Set
    asString->String}