It would be nice to be able to write something like:
Is it feasible that size() returns a SizeAssertion while isGreater returns again the original ListAssertion?
You can do this, it's almost what you are asking :
BTW, I don't think it's a good idea to switch between assertions type (in your example SizeAssertion then ListAssertion) because it's confusing when you read the code.
If it's ok for you, please close this issue.