class T::Types::TypedArray

def name

overrides Base
def name
  "T::Array[#{@type.name}]"
end

def new(*args)

def new(*args)
  Array.new(*T.unsafe(args))
end

def recursively_valid?(obj)

overrides Base
def recursively_valid?(obj)
  obj.is_a?(Array) && super
end

def underlying_class

def underlying_class
  Array
end

def valid?(obj)

overrides Base
def valid?(obj)
  obj.is_a?(Array)
end