For fluent interfaces.

Against fluent interfaces.

Sure, they might be nice to use (with some exceptions and constraints), but they wreak havoc on the internals you're calling into.

I've tried implementing a fluent interface for a SQL query builder back in the day. It was fun to use but tedious-at-best to write.

Use more idiomatic OOP approaches instead. Or just don't use OOP at all.