# STATUS: Untested

Type = require "./Type"
ArrayOf = require "./ArrayOf"
findInArray = require "./internal/findInArray"

Array::hasType = (type) ->
	assert ArrayOf(Type).isTypeOf this
	return findInArray _isTypeComparison, type, this

Array::hasTypeOf = (value) -> 
	return @hasType Type.of value

Array::hasKind = (type) -> 
	return @hasType type.Kind

Array::hasKindOf = (value) -> 
	return @hasKind Type.of value

###

Internal

###

_isTypeComparison = (a, b) -> a.isType b
