00:00 You may have seen this function of popup here now. It's really a generic interface to be able to place a value into our type, or we call it lifting a value to our type. Here, we have Task.of. If we say ('hello'), we end up with a Task of ('hello'). If we have an Either.of('hello'), we end up with a Right of ('hello').
00:21 Similarly, if we have a Box.of say (100)...we're just picking arbitrary values here. We're just putting those values inside our types, and this is regardless of any constructor complexities here.
00:33 If you recall Task as the constructor where we take a reject function, a result function, and resolve this, then this would be much more complex and not to the generic interface that I could use to program functions that just pop a value into a type, not worrying about any constructors or specifics.
00:49 Why did we choose right instead of left?
00:52 That's a terrific question. The reason for this is that one of the contracts or intuitions of of here, is that once I popup a value into my of, I want to be able to start mapping and chaining and using all of those generic interface functions on this value. If this was to return a left, we wouldn't be able to actually map over it.
01:11 It would just ignore maps and chains. That's kind of ignoring the contract of of, which would just lift a value into a type and start working with it as if it's a total success and things work the way they should.