> I'm particularly keen on Nim's UFCS
One of my favourite parts about UFCS is how it can turn C libraries that I've had to bind into nice clean looking interfaces!
esp_err_t sw_enableRx(SwSerial *self, bool State)
Becomes
proc sw_enableRx*(self: ptr SwSerial, State: bool): esp_err_t {.importc: "$1", header: "<SwSerial.h>".}
Which when called is super lovely!
var port = sw_open(params, etc)
port.enableRx(true)