Channels and Types

I have a record witch has a field of type TimeSpan. I write that record to a Channel on create. Somewhere in the patch I use Select(ByPath) and SetValue to update the field of type TimeSpan. So far so good!

I have noticed that it is possible to use the Select(ByPath) and SetValue and update that field but with a different type! In the example bellow the type is String and not TimeSpan anymore!

This behaviour caused a case where the Value pin of the Value node was not getting updated but the Channel pin of the Value node was indeed being updated!

Now, I do understand that it was clearly my failure to keep the consistency of the types while patching, however, I was not expecting that it is possible to change the type of a field via Channel.

Any thoughts on this would be indeed appreciated.
Merci Merci :)

So is this related to the fact that Foo is a Record?

What if you just copy all the nodes and place them into the Application patch?