@wiverson it's the API for the FIRST robotics main library, wpilib. Overall quite good, but it's got a couple of loose ends that I'm going to look into tying off.
Mostly this complaint is around the fact that Java decided interfaces are something that the library owner owns instead of something that the client owns. I'm accustomed to typescript where you can define interfaces on the fly, and as long as an object has the relevant types and fields, it adheres to the interface. It's a joy because it lets you tie together otherwise unrelated components after the fact.