### which parent class for C-finite sequences?

Hello, I would like to embed a structure (C-finite sequences) in the Sage ring hierarchy. Fortunately, C-finite sequences are equivalent to the fractions of Laurent polynomials, any fraction is an ordinary generating function for a sequence, and it's a bijection. Now, I'm a bit confused as to the implementation procedure:

Can I just subclass the "right" ring class (FractionField?), and override the members. But which class? Can I create a specific ring class for Laurent polynomial fractions and just call it CFiniteSequenceRing? Maybe I don't even need a new ring, just a class for the elements? If so, is there a way to declare the bijection?

Given that there are P-finite sequences, a superset of the above, what should be done to ensure that they fit into the scheme?

Any hint would be welcome.