It's sometimes called comma-leading style where you move all the special characters to the front of the line and it is exceedingly common in Haskell, possibly due to how Haskell treats significant whitespace. You've surely seen list definitions that look like this:
someList =
[ 1
, 2
, 3
]
or a data definition like this:
data Color
= Red
| Green
| Blue
| RGB Int Int Int
deriving (Show, Eq)
or a list of module exports like this:
module Foo
{ bar
, baz
, quux
}
Or in a long function type declaration where the arrows are moved to the start of the line, or a record definition, etc. etc.
I've seen cum used in Indian English pretty often in its Latin meaning, as in "with" and used often to mean something that serves multiple purposes. So this is talking about some kind of tank ammo which penetrates and blasts (presumably armour).
It was also used in other dialects of English as well, and we still have Latin phrases like "magna cum laude" (meaning "with great honour"), but some other meaning of the word has become more prominent...