You are referring to the return data type of these functions as described in the HELP, right?
This basically means that Peek() and Previous() should return the field or expression value keeping both representations, text and numeric, whenpossible (i.e. Peek() will only return the numeric representation if the field value the peek() is referencing is actually showing a numeric representation. The function itself will not create one.)
This should be the case with most functions. Few exceptions: Some string functions like Left() will only return a value with text format (numeric format will be empty), and some aggregations like Sum() will only return a numeric format (still you can use text functions with an implicite text format interpretation).
I believe this should describe the basic design, but you may encounter some issues with dual format handling, as I believe this basic idea is not implemented correctly in all places.