I wouldn't say I fell in love, but Java 8 streams are quite nice.
But then there are generics...
https://octodon.social/media/K8etdwvwhTR8afqBgQE
This was the result of trying to concatenate Stream<A> and Stream<B> into a new Stream<A> where B extends A.
So I figured I avoid all the hassle by using Stream<A> everywhere and casting into B where necessary.
This makes my clean code heart cry a little.