ad4s Type generic automatic differentiation lib An attempt to port backprop to Scala using shapeless and possibly cats