in reply to Colons in names of IO layers
This is in open.pm:
if ($type =~ /^:?(utf8|locale|encoding\(.+\))$/) { $type = 'IO'; $dscp = ":$1"; } elsif ($type eq ':std') { $std = 1; next; } [download]
… so that explains why ':std' needs the colon.