class Plumb::Transform

def _inspect = "->(#{@target_type.inspect})"

def _inspect = "->(#{@target_type.inspect})"

def call(result)

def call(result)
  result.valid(@callable.call(result.value))
end

def initialize(target_type, callable)

def initialize(target_type, callable)
  @target_type = target_type
  @callable = callable || Plumb::NOOP
  @children = [target_type].freeze
  freeze
end