def apply_endpoint(obj, k, v)
      α = -> { endpoint(get(v).body) }
      β = -> { v }
      λ = url?(v) ? -> { α.call } : -> { β.call }
      obj.define_singleton_method(k, &λ) if url?(v)
      obj
    end
def apply_endpoint(obj, k, v)
      α = -> { endpoint(get(v).body) }
      β = -> { v }
      λ = url?(v) ? -> { α.call } : -> { β.call }
      obj.define_singleton_method(k, &λ) if url?(v)
      obj
    end
applies an endpoint to obj, named k, which fetches v and makes it an
 endpoint if it looks like a URL