1. Implement constructors in the Node class.
2. Implement new methods:
   public final V getOrElse(final K key, final V def);
    public final V getOrElseSupplier(final K key, final Supplier<V> other);
    public final <W> Tree<K, W> map(final Function<V, W> f);
    public final void app(final Consumer<V> f);
3. Some argument rearrangement in factory constructors.