How to cope with terminal operations in a fluent API?

I am trying to polish my data-mapping library and struggle with my fluent API design as it feels clumsy in some basic use-cases.

The library focuses on defining mapping objects from one type into another in a fluent way, even for immutable objects. The immutable API works as follows: Every constructor parameter has its mapping process defined in declaration order. Said mapping process does not need to start from the current constructor parameters type which leads to the following code (excerpt from here), there are more test-cases that show said problem there) :

public class Item {     private final String id;      public Item(String id) { = id;     }      public String getId() {         return id;     } }  //simplified example: the main use case of the library is to map different types to another Mapper<Item, Item> mapper = new ConstructorBuilder1<Item, String, Item>(Item::new)             .from(Item::getId).mapTo(Function.identity())             .build(); 

As you can see even though I have already reached the desired constructor parameters type I still have to call the terminal operation mapTo(Function.identity()). Imagine another case where the .from calls getter return type is mismatching from the get go.

Is there another, better or more clear approach to avoid this? I want to avoid the unnecessary mapTo-call if possible. Other approaches that circumvent the outlined problem are welcome too.

I already tried overloading which doesn’t work well with lambdas and I have documented several other (subjectively less fitting) approaches here.

This and its .immutable-functions serve as the main entry point into the immutable API.

This should give a more broad overview of the libraries usage.

Please let me know if you need any more information.

How do you cope with tons of web fonts when copying and pasting from web pages?

Whenever I copy something from the web and paste it in my Mail or Evernote, or Apple Notes, it always brings the text style from the page and inserts those weird looking fonts in my mail, or notes.

My solution for that is to paste it in a plain text editor, VIM in my case, and then copy and paste where I need it to get rid of the style. It’s pretty elaborate process, especially when I need to copy/paste often during research.

I’m wondering how other people cope with the fonts, and what’s a better solution?