general:
*   Start writing documentation concerning various implementation defined
    behaviours of the library.
*   Ok I just realised that I assumed that wchar_t is a 16-bit string in
    a bunch of places.

math.h:
*   exp
*   exp2
*   expml
*   log
*   log10
*   log2
*   log1p
*   pow
*   cbrt
*   hypot
*   atan2
*   erf
*   erfc
*   tgamma
*   lgamma
*   frexp
*   ldexp
*   M_* constants
*   M_E
*   M_LOG2
*   M_LOG10
*   other stuff?

stdio.h:
*   The only reason to keep a linked list of all streams is to make sure they
    are flushed after main() returns. I wonder if only remembering the files
    with a buffer would increase performance.
*   Formatted scan
*   %s precision should specify how much characters to *write*
*   %s check for NULL
*   %Ls this is an actual weird territory. If (wchar_t *) is a unicode string
    then to determine it's "width" (to figure out field padding) would require
    to use a Unicode composition algorithm. But the problem is that windows
    Unicode rendering advances text by 2 units, even if it's 1 graphical
    character that was composed from 2 unicode characters. The question
    becomes: do we implement the thing correctly by using a more complex
    solution, or do we succumb to windows' bullshittery. I guess the answer is
    obvious. That's why I wrote this todo item :D
*   tmpfile
*   tmpnam
*   tmpfile_s
*   tmpnam_s

stdlib.h:
*   Strtod base 16 must be correctly rounded
*   Multibyte string functions
*   Better PRNG
*   Fix aligned_malloc
*   Constraint Handlers
*   getenv_s

string.h:
*   strnlen_s
*   memset_s
*   memmove_s
*   memcpy_s
*   strncpy_s
*   strcpy_s
*   strcat_s
*   strncat_s
*   strtok_s
*   strerror_s
*   strerrorlen_s

threads.h:
*   TODO: add todo items

time.h:
*   Probably some other funcs
*   asctime_s
*   ctime_s
*   gmtime_s
*   localtime_s

wchar.h:
*   Basically everything

entry:
*   Pretty sure there is a bug in counting wide chars for parsing argv