title: What are get() and unit() in this definition of applicative functor?
body: <p>I am trying to code up some functors, monads, and applicatives in java. i found a few and picked the one below.</p>
  
  <p>In terms category theory, what is get() returning?</p>
  
  <p>The unit() seems like some kind of identity, but from what to what? Or perhaps this is a constructor?</p>
  
  <p>I saw <em>one</em> definition of functor that had a get(). What would this be returning?</p>
  
  <pre><code>abstract class Functor6&lt;F,T&gt; {
      protected abstract &lt;U&gt; Function&lt;? extends Functor6&lt;F,T&gt;,? extends Functor6&lt;?,U&gt;&gt; fmap(Function&lt;T,U&gt; f);
  }
  
  abstract class Applicative&lt;F,T&gt;extends Functor6&lt;F,T&gt; {
      public abstract &lt;U&gt; U get(); // what is this in terms of category theory?
  
      protected abstract &lt;U&gt; Applicative&lt;?,U&gt; unit(U value); // what is this in terms of category theory?
  
      protected final &lt;U&gt; Function&lt;Applicative&lt;F,T&gt;,Applicative&lt;?,U&gt;&gt; apply(final Applicative&lt;Function&lt;T,U&gt;,U&gt; ff) {
          return new Function&lt;Applicative&lt;F,T&gt;,Applicative&lt;?,U&gt;&gt;() {
              public Applicative&lt;?,U&gt; apply(Applicative&lt;F,T&gt; ft) {
                  Function&lt;T,U&gt; f=ff.get();
                  T t=ft.get();
                  return unit(f.apply(t));
              }
          };
      }
  }
  </code></pre>