I think if all Imputors or Chains were just callable then I think the init field for svd could just be a callable with 3 assumptions that can be explicitly specified.
the init callable should fill in all values
it does not mutate the original data
follow the method signature of init(data; dims=dims)
If any of those fail then it can just error appropriately at runtime either with a method error or explicit assertion.
I think if all
Imputor
s orChain
s were just callable then I think theinit
field forsvd
could just be a callable with 3 assumptions that can be explicitly specified.init(data; dims=dims)
If any of those fail then it can just error appropriately at runtime either with a method error or explicit assertion.
Related to #89